import { createApp } from 'vue'
import App from './App.vue'

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import 'element-plus/theme-chalk/dark/css-vars.css'
import zhCn from 'element-plus/es/locale/lang/zh-cn'

// @ts-ignore
// svg 插件需要配置代码
import 'virtual:svg-icons-register'

// @ts-ignore
// 引入自定义插件对象：注册整个项目全局组件
import globalComponents from '@/components'

// 引入自定义全局样式
import '@/styles/index.scss'

// 引入路由
import router from './router'
// 引入权限模块
import './permission'

import pinia from '@/store'

import { isHasButton } from '@/directive/has'

const app = createApp(App)

// console.log(import.meta.env)

// 测试代码，测试 mock 数据能不能使用
// import axios from 'axios'
// axios({
//   url: '/api/user/login',
//   method: 'post',
//   data: {
//     username: 'admin',
//     password: '111111',
//   },
// })

app.use(ElementPlus, {
    locale: zhCn,
})

// 安装自定义插件
app.use(globalComponents)

// 安装路由
app.use(router)

// 安装自定义指令
isHasButton(app)

app.use(pinia)

app.mount('#app')
